package cn.kgm.user.dto.vo;

import cn.kgm.core.entity.Entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.SuperBuilder;

import java.time.LocalDateTime;

/***
 * 用户密码锁定表
 * @author kappi
 * @date   2024-04-08 13:28:48
 * @date   2024-04-08 13:28:48
 */
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "UserPassLock", description = "用户密码锁定表")
public class UserPassLockVO extends Entity<Long>{

    /**
     * 用户账号ID:[user_account.id]
     */
    @ApiModelProperty(value = "用户账号ID:[user_account.id]")
    private Long accountId;

    /**
     * 密码锁定:[0,未锁定];[1,锁定]
     */
    @ApiModelProperty(value = "密码锁定:[0,未锁定];[1,锁定]")
    private Boolean passLock;

    /**
     * 允许失败次数,到达此次数时执行锁定
     */
    @ApiModelProperty(value = "允许失败次数,到达此次数时执行锁定")
    private Boolean allowedFailNum;

    /**
     * 时间区间,单位分钟
     */
    @ApiModelProperty(value = "时间区间,单位分钟")
    private Boolean failIntervalTime;

    /**
     * 锁定时间,单位分钟(开始锁定时间+锁定时间=锁定结束时间)
     */
    @ApiModelProperty(value = "锁定时间,单位分钟(开始锁定时间+锁定时间=锁定结束时间)")
    private Boolean lockTime;

    /**
     * 锁定结束时间
     */
    @ApiModelProperty(value = "锁定结束时间")
    private LocalDateTime lockEndTime;
}
